/**
 * 给定一个数组，要求重新排列，使得相邻位置之差的绝对值之和最大
 * 如果有序的话显然就浪费了
 * 因此将大小夹杂即可
 */
#include <bits/stdc++.h>
using namespace std;

using llt = long long;
using pii = pair<int, int>;
using vi = vector<int>;

inline llt ABS(int x){return x >= 0 ? x : -x;}

int N;
vi R;

llt proc(){
    sort(R.begin(), R.end());
    int left = 0, right = N - 1;

    int cur = R[left++];
    llt ans = 0;
    while(1){
        if(left <= right){
            ans += ABS(R[right] - cur);
            cur = R[right--];
        }else{
            break;
        }
        if(left <= right){
            ans += ABS(R[left] - cur);
            cur = R[left++];
        }
    }
    return ans + abs(cur - R[0]);
}

int main(){
#ifndef ONLINE_JUDGE
    freopen("z.txt", "r", stdin);
#endif
    ios::sync_with_stdio(false);cin.tie(nullptr);cout.tie(0);
    int nofkase = 1; 
    // cin >> nofkase;
    for(int kase=1;kase<=nofkase;++kase){
        cin >> N;
        R.assign(N, 0);
        for(auto & i : R) cin >> i;
        cout << proc() << endl;
    }
    return 0;
}